﻿/**
 * 给定数组A。只允许一种操作：
 * 令Ai-=x, Aj+=x, i < j, x可自定
 * 操作可以进行任意次，问能否将所有元素改为相等，保证数组和是N的倍数
 * 无需跨元素操作，只需将多余的数值挨个向右放即可。
 * 然后进行检查。
 */
#include <bits/stdc++.h>
#include <bits/extc++.h>
using namespace std;

using llt = long long;
using vi = vector<int>;

int N;
vi A;

bool proc(){
    llt sum = accumulate(A.begin(), A.end(), 0LL);
    llt target = sum / N;
    llt left = 0;
    for(auto & i : A){
        if(i == target) continue;
        if(i > target) {
            left += i - target, i = target;
            continue;
        }
        if(target - i > left) return false;
        left -= target - i; 
        i = target;
    }
    return true;
}

void work(){
    cin >> N;
    A.assign(N, {});
    for(auto & i : A) cin >> i;
    cout << (proc() ? "YES" : "NO") << "\n";     
}

int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int nofkase = 1;
	cin >> nofkase;
	while(nofkase--){	
        work();
	}
    return 0;
}